import 'dart:io';

import 'package:flutter/material.dart';

// 共享发表动态图片操作模型
class ImageListModel with ChangeNotifier{
  List<String> _pathList = []; // 一个文件路径组成的数组

  // 添加数据
  void addItem({@required File file}){
    String path = file.path;
    _pathList.add(path);
  }

  // 获取所有的数据
  List<String> getAllItem(){
    return _pathList;
  }

  // 删除item（根据文件名）
  void deleteItem({@required File file}){
    String path = file.path;
    String fileName = _pathList.firstWhere((item) => item == path);
    _pathList.remove(fileName);
  }

  // 编辑后更新数据
  void updateItem({@required File oldFile, @required File newFile}){
    String oldPath = oldFile.path;
    String newPath = newFile.path;
    int index = _pathList.lastIndexWhere((item) => item == oldPath);
    _pathList[index] = newPath;
    notiy();
  }

  // 通知刷新
  void notiy(){
    notifyListeners();
  }

  cleanItem(){
    _pathList.clear();
  }
}